Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v24.9.0 #491

Merged
merged 541 commits into from
Sep 11, 2024
Merged

Release v24.9.0 #491

merged 541 commits into from
Sep 11, 2024

Conversation

BradyPlanden
Copy link
Member

Description

Release v24.9.0

Issue reference

Fixes # (issue-number)

Review

Before you mark your PR as ready for review, please ensure that you've considered the following:

  • Updated the CHANGELOG.md in reverse chronological order (newest at the top) with a concise description of the changes, including the PR number.
  • Noted any breaking changes, including details on how it might impact existing functionality.

Type of change

  • New Feature: A non-breaking change that adds new functionality.
  • Optimization: A code change that improves performance.
  • Examples: A change to existing or additional examples.
  • Bug Fix: A non-breaking change that addresses an issue.
  • Documentation: Updates to documentation or new documentation for new features.
  • Refactoring: Non-functional changes that improve the codebase.
  • Style: Non-functional changes related to code style (formatting, naming, etc).
  • Testing: Additional tests to improve coverage or confirm functionality.
  • Other: (Insert description of change)

Key checklist:

  • No style issues: $ pre-commit run (or $ nox -s pre-commit) (see CONTRIBUTING.md for how to set this up to run automatically when committing locally, in just two lines of code)
  • All unit tests pass: $ nox -s tests
  • The documentation builds: $ nox -s doctest

You can run integration tests, unit tests, and doctests together at once, using $ nox -s quick.

Further checks:

  • Code is well-commented, especially in complex or unclear areas.
  • Added tests that prove my fix is effective or that my feature works.
  • Checked that coverage remains or improves, and added tests if necessary to maintain or increase coverage.

Thank you for contributing to our project! Your efforts help us to deliver great software.

BradyPlanden and others added 30 commits August 7, 2024 16:55
…her than init_soc (#425)

* Update default init_soc

* Update CHANGELOG.md

* Update check_params

* Add pybamm_model as default attribute

* Ensure predict uses unprocessed_model

* Move rebuild check to model.simulate

* Align simulate output with predict

* Replace init_soc with init_ocv for FittingProblem

* Update notebooks

* Update test_observers.py

* Update descriptions and simplify

* Add test_set_initial_state

* Update test_problem.py

* Break connection between parameter_sets

* Allow predict to update initial state

* Add nbstripout pre-commit hook

* Add -q and re-run all notebooks

* Copy parameter sets and remove model.initial_state

* Reset spm_NelderMead.py

* Update CHANGELOG.md

* Allow parameter_set is None

* Re-run notebooks

* Update bounds

* Update notebooks

* Set numpy random seed in notebooks

* Re-run with fixed seed

* Update bounds

* Update notebooks to initial_state

* Add set_initial_state for ECMs

* Add init_ocv setter

* Add init_ocv values

* Re-run notebooks

* Add tests for ECM get_initial_state

* Add ECM initial state error tests

* Remove unused store_optimised_parameters

* Update parameters.initial_value

* Use any Initial SoC from parameter_set

* Update bounds again

* Update init_soc in notebooks

* Move dataset check within unscented_kalman

* Remove unnecessary lines from spm_UKF

* Update all parameters for rebuild

* Ensure value updates alongside initial_value

* Update multi_model_identification

* Update spm_electrode_design.ipynb

* Fix test_plots design problem

* Move Changelog entry to breaking changes

* Add tests

* Update integration tests

* Update spm_weighted_cost.py

* Fix tests

* Fix model type check

* Update _parameter_set to parameter_set

* Update tests with parameter set

* Add model build description

* Revert to _parameter_set

* Apply suggestions from code review

Co-authored-by: Brady Planden <[email protected]>

* Apply suggestions from code review

Co-authored-by: Brady Planden <[email protected]>

* Fix syntax

* Fix variable name

* Update model type check

* Update parameter_set setter

* Add parameters.reset_initial_value

* Add n_outputs property

* Remove public parameter_set setter

* Correct integer to float

* Convert initial_state to dict

* Add guidance

* Remove empty dictionary defaults

* Add warning stacklevels

* Catch simulation errors in problem evaluation

* Add pybamm version comment

* Add set initial ocv check

* Add model.clear and remove setters

* Update unscented_kalman.py

* Update test_models.py

* Update test_set_initial_state

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Brady Planden <[email protected]>
…lf), GaussianLogLikelihood now separable, updt tests.
* Merge rebuild into build

* Update CHANGELOG.md

* Update base_model.py

* Fix notebooks

* Apply suggestions from code review

Co-authored-by: Brady Planden <[email protected]>

* Update set_current_function and add test

* Include simulate in test_set_current_function

---------

Co-authored-by: Brady Planden <[email protected]>
…hods-to-accept-precomputed-signals

# Conflicts:
#	CHANGELOG.md
…rendering-formu-in-notebooks

# Conflicts:
#	examples/notebooks/multi_model_identification.ipynb
#	examples/notebooks/spm_electrode_design.ipynb
* Add MultiFittingProblem, example and test

* Remove unused n_problems property

* Update multi_fitting.py

* Update CHANGELOG.md

* Remove unused weights

* Update problem_list to problem args

* Concatenate the whole list

* Apply suggestions from code review

* Update description

* Update default init_soc

* Update CHANGELOG.md

* Update check_params

* Add pybamm_model as default attribute

* Ensure predict uses unprocessed_model

* Move rebuild check to model.simulate

* Align simulate output with predict

* Replace init_soc with init_ocv for FittingProblem

* Update notebooks

* Update test_observers.py

* Update descriptions and simplify

* Add test_set_initial_state

* Copy each model into MultiFittingProblem

* Update test_problem.py

* Update ecm.py

* style: pre-commit fixes

* Break connection between parameter_sets

* Allow predict to update initial state

* Fix typo

* Add nbstripout pre-commit hook

* Add -q and re-run all notebooks

* Copy parameter sets and remove model.initial_state

* Reset spm_NelderMead.py

* Update CHANGELOG.md

* Update CHANGELOG.md

* Allow parameter_set is None

* Re-run notebooks

* Update bounds

* Update notebooks

* Update notebooks

* Set numpy random seed in notebooks

* Re-run with fixed seed

* Update bounds

* Update notebooks to initial_state

* Add set_initial_state for ECMs

* Add init_ocv setter

* Add init_ocv values

* Re-run notebooks

* Add tests for ECM get_initial_state

* Add ECM initial state error tests

* Remove unused store_optimised_parameters

* Update parameters.initial_value

* Use any Initial SoC from parameter_set

* Update bounds again

* Update init_soc in notebooks

* Move dataset check within unscented_kalman

* Remove unnecessary lines from spm_UKF

* Update all parameters for rebuild

* Update init_ocv to _init_ocv

* Ensure value updates alongside initial_value

* Update multi_model_identification

* Update spm_electrode_design.ipynb

* Update spm_electrode_design.ipynb

* Fix identation

* Fix test_plots design problem

* Move Changelog entry to breaking changes

* Move Changelog entry

* style: pre-commit fixes

* Fix merge mistake

* style: pre-commit fixes

* Allow kwargs in MultiFitting evaluate

* Add tests

* Update integration tests

* Update spm_weighted_cost.py

* Fix tests

* style: pre-commit fixes

* Fix model type check

* Update _parameter_set to parameter_set

* style: pre-commit fixes

* Update tests with parameter set

* Add model build description

* Revert to _parameter_set

* Fix predict without pybamm test

* Apply suggestions from code review

Co-authored-by: Brady Planden <[email protected]>

* Apply suggestions from code review

Co-authored-by: Brady Planden <[email protected]>

* Fix syntax

* Fix variable name

* Update model type check

* Update parameter_set setter

* style: pre-commit fixes

* Add parameters.reset_initial_value

* Add n_outputs property

* style: pre-commit fixes

* Remove public parameter_set setter

* Correct integer to float

* Convert initial_state to dict

* Add guidance

* Remove empty dictionary defaults

* style: pre-commit fixes

* Add warning stacklevels

* Catch simulation errors in problem evaluation

* Add pybamm version comment

* Add set initial ocv check

* Add model.clear and remove setters

* Update unscented_kalman.py

* Update unscented_kalman.py

* Update test_models.py

* Update test_set_initial_state

* Use clear in model.new_copy

* Reference public attributes

* Move MultiFittingProblem into separate file

* Update description

* Add dataset property

* Fix changes due to linting

* Add test_multi_fitting_problem

* Add problem.set_initial_state

* Merge rebuild into build

* Update CHANGELOG.md

* Update base_model.py

* Fix notebooks

* Update multi_fitting with different initial SoC

* Update copying

* Add check for identical models

* refactor: model.new_copy() args as dictionary and single construction

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Brady Planden <[email protected]>
Co-authored-by: Brady Planden <[email protected]>
…hods-to-accept-precomputed-signals

# Conflicts:
#	CHANGELOG.md
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.5.6 → v0.5.7](astral-sh/ruff-pre-commit@v0.5.6...v0.5.7)
Adds support for IDAKLU w/ output variables
BradyPlanden and others added 22 commits September 9, 2024 12:01
docs: add f-g-r-i-m-m as a contributor for example
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.6.3 → v0.6.4](astral-sh/ruff-pre-commit@v0.6.3...v0.6.4)
Replace `pybop.MAP` with `pybop.LogPosterior`
# Conflicts:
#	pybop/costs/_likelihoods.py
#	tests/integration/test_eis_parameterisation.py
#	tests/integration/test_spm_parameterisations.py
…l-lr

Multi-dimensional learning rate (sigma0) for AdamW
# Conflicts:
#	CHANGELOG.md
#	CITATION.cff
#	docs/_static/switcher.json
#	examples/scripts/spm_UKF.py
#	pybop/costs/fitting_costs.py
#	pybop/models/base_model.py
#	pyproject.toml
#	tests/unit/test_cost.py
#	tests/unit/test_models.py
Copy link

codecov bot commented Sep 10, 2024

Codecov Report

Attention: Patch coverage is 99.50950% with 8 lines in your changes missing coverage. Please review.

Project coverage is 99.04%. Comparing base (a318207) to head (061fef9).
Report is 598 commits behind head on main.

Files with missing lines Patch % Lines
pybop/_utils.py 98.61% 1 Missing ⚠️
pybop/models/lithium_ion/base_echem.py 95.23% 1 Missing ⚠️
pybop/parameters/parameter.py 98.64% 1 Missing ⚠️
pybop/parameters/priors.py 98.43% 1 Missing ⚠️
pybop/plotting/plotly_manager.py 75.00% 1 Missing ⚠️
pybop/problems/design_problem.py 97.36% 1 Missing ⚠️
pybop/samplers/mcmc_sampler.py 92.85% 1 Missing ⚠️
pybop/transformation/base_transformation.py 97.77% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #491      +/-   ##
==========================================
+ Coverage   97.82%   99.04%   +1.21%     
==========================================
  Files          43       52       +9     
  Lines        2579     3546     +967     
==========================================
+ Hits         2523     3512     +989     
+ Misses         56       34      -22     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@BradyPlanden
Copy link
Member Author

This should be good, the lychee links error is due to the docs link for v24.9.0 not being live until the release. The other error is due to assertion tolerance with the DramACMC sampler, while not ideal, it stems from hyper-parameter calibration.

@BradyPlanden BradyPlanden removed the request for review from martinjrobins September 11, 2024 13:46
@BradyPlanden BradyPlanden merged commit 99632b9 into main Sep 11, 2024
52 of 53 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants